from pyecharts.charts import Bar, Timeline
from pyecharts.options import *

# 获取柱状图对象
bar1 = Bar()
bar2 = Bar()
bar3 = Bar()
# 添加x轴数据
bar1.add_xaxis(['美国', '中国', '日本'])
bar2.add_xaxis(['美国', '中国', '日本'])
bar3.add_xaxis(['美国', '中国', '日本'])
# 添加y轴数据（position='right'，将数值标签设置在右边，默认是在上边）
bar1.add_yaxis('GDP', [30, 10, 15], label_opts=LabelOpts(position='right'))
bar1.add_yaxis('GDP', [40, 20, 20], label_opts=LabelOpts(position='right'))
bar1.add_yaxis('GDP', [45, 30, 25], label_opts=LabelOpts(position='right'))
# 反转x和y轴
bar1.reversal_axis()
bar2.reversal_axis()
bar3.reversal_axis()

# 创建时间线对象
timeline = Timeline()
# 添加三个时间点，每个时间点对应一张柱状图
timeline.add(bar1, '2010年GDP')
timeline.add(bar2, '2015年GDP')
timeline.add(bar3, '2020年GDP')

# 设置全局配置项
# bar.set_global_opts(
#     # 设置标题
#     title_opts=TitleOpts(title="中美日三国GDP", pos_left="center", pos_bottom="0%"),
#     # 是否展示图例（默认是True）
#     legend_opts=LegendOpts(is_show=True),
#     # 是否展示工具箱（默认是False）
#     toolbox_opts=ToolboxOpts(is_show=True),
#     # 是否展示色卡（默认是没有该属性，一旦设置了该属性，无论是否取值都会展示不同颜色）
#     visualmap_opts=VisualMapOpts(is_show=True)
# )

# 通过时间线对象生成柱状图
timeline.render()
